A microprocessor device is a central processing unit or CPU for a digital processor which is usually contained in a single semiconductor integrated circuit or "chip" fabricated by MOS/LSI technology, as shown in U.S. Pat. No. 3,757,306 issued to Gary W. Boone and assigned to Texas Instruments. The Boone patent shows a single-chip 8-bit CPU including a parallel ALU, registers for data and addresses, an instruction register and a control decoder, all interconnected using the yon Neumann architecture and employing a bidirectional parallel bus for data, address and instructions. U.S. Pat. No. 4,074,351, issued to Gary W. Boone, and Michael J. Cochran, assigned to Texas Instruments, shows a single-chip "microcomputer" type device which contains a 4-bit parallel ALU and its control circuitry, with on-chip ROM for program storage and on-chip RAM for data storage, constructed in the Harvard architecture. The term microprocessor usually refers to a device employing external memory for program and data storage, while the term microcomputer refers to a device with on-chip ROM and RAM for program and data storage. In describing the instant invention, the term "microcomputer" will be used to include both types of devices, and the term "microprocessor" will be primarily used to refer to microcomputers without on-chip ROM; both terms shall be used since the terms are often used interchangeably in the art.
Modern microcomputers can be grouped into two general classes, namely general-purpose microprocessors and special-purpose microcomputers/microprocessors. General purpose microprocessors, such as the M68020 manufactured by Motorola, Inc., are designed to be programmable by the user to perform any of a wide range of tasks, and are therefore often used as the central processing unit in equipment such as personal computers. Such general-purpose microprocessors, while having good performance for a wide range of arithmetic and logical functions, are of course not specifically designed for or adapted to any particular one of such functions. In contrast, special-purpose microcomputers are designed to provide performance improvement for specific predetermined arithmetic and logical functions for which the user intends to use the microcomputer. By knowing the primary function of the microcomputer, the designer can structure the microcomputer in such a manner that the performance of the specific function by the special-purpose microcomputer greatly exceeds the performance of the same function by the general-purpose microprocessor regardless of the program created by the user.
One such function which can be performed by a special-purpose microcomputer at a greatly improved rate is digital signal processing, specifically the computations required for the implementation of digital filters and for performing Fast Fourier Transforms. Because such computations consist to a large degree of repetitive operations such as integer multiply, multiple-bit shift, and multiply-and-add, a special-purpose microcomputer can be constructed specifically adapted to these repetitive functions. Such a special-purpose microcomputer is described in U.S. Pat. No. 4,577,282, assigned to Texas Instruments Inc. The specific design of a microcomputer for these computations has resulted in sufficient performance improvement over general purpose microprocessors to allow the use of such special-purpose microcomputers in real-time applications, such as speech and image processing.
Different techniques are used by designers to further increase the rate of processing digital signals. Some designers design the data processing device around parallel architectures that run multiple internal busses within the data processing device. Implementing this technique requires a data processing device having a much higher pin count and larger power supply handling capabilities than normal. This technique also causes difficulties in the development of tools for emulating the data processing device.
Some designers are implementing more resources onto the microcomputer chip thereby avoiding delays in the accessing of off-chip resources. Memories, such as ROM and RAM, have been added on chip as well as the addition of on chip status registers. While data processing speed is substantially increased in such arrangements, the development of tools for emulating the data processing device becomes much more difficult.
Two major techniques currently exist in aiding the development of tools for emulating a data processing device. One technique suggest running a special extended pin out data processing device. This technique is not advantageous and is not cost effective. It requires that either multiple devices be developed (one for production purposes and one for emulation purposes) or, that only the extended pin out device be developed. The extended pin out device is less reliable and require more power. As such a device is designed to have more internal buses, the pinout increases until it is not feasible to build an emulator for it.
Another technique to solve the problem is to emulate at less than full speed. The internal information can be dumped out of the data processing device during program execution with the use of the standard buses on the data processing device. However, this technique requires a considerable slowing down of the execution of the program by the data processing device. In real time applications, this technique is unacceptable.
It would be advantageous, therefore, to facilitate emulation of data processing devices as more and more resources are moved onto the microcomputer chip.
It is an object therefore of this invention to aid designers in the development of emulation tools for data processing devices.
Further objects and advantages of the instant invention will become apparent to those of ordinary skill in the art having reference to the following specification, together with its drawings.